This section describes approaches that could be employed, but are not necessarily approaches that have been previously conceived or employed. Hence, unless explicitly specified otherwise, any approaches described in this section are not prior art to the claims in this application, and any approaches described in this section are not admitted to be prior art by inclusion in this section.
Millions of Internet of Things (IoT) devices are being deployed as endpoint devices in centralized utility networks. An IoT device can be implemented as a wired or wireless resource-constrained device operating on limited battery power. Deployment of endpoint devices in centralized utility networks (e.g., power grid, natural gas distribution network, drinking water supply network, etc.) require reliable transfer of User Datagram Protocol (UDP) data packets. Hence, IoT devices can be deployed as endpoint devices in utility networks using a Reliable Packet Delivery Overlay Network (RPDON) that provides an acknowledgement for each transmitted UDP data packet, and that enables an IoT device to retransmit the transmitted UDP data packet if an acknowledgement is not received.
One concern in deploying multiple endpoint devices in an RPDON network is ensuring the RPDON server device receiving the transmitted UDP data packets is not overwhelmed with data traffic. One method for allocating processing resources of the RPDON server device among the multiple endpoint devices can be weighted fair queueing, where each endpoint device (“i”) can be allocated evenly a specific weight “W” relative to a unit cycle “C” (e.g., time, data packets, bytes, etc.) required by the RPDON server device to process all the transmitted UDP data packets from all “N” endpoint devices, e.g., W[i]=C/N.
The above-described weighted fair queuing, however, still can delay transmission of a critically-severe data packet (e.g., a fire alarm notification) generated at an endpoint device because the critically-severe data packet still must wait at the end of the transmit queue of the endpoint device; hence, the critically-severe data packet cannot be transmitted until the endpoint device has received a sufficient number of acknowledgement messages for the data packets pending in the transmit queue that precede the critically-severe data packet.